LogScale< T > Class Template Reference

LogScale class. More...

#include <logscale.h>

Public Member Functions

 LogScale (T srcMin, T srcMax, T destMin, T destMax, T inValue=0.5, T outValue=0.1)
 Constructor.
 LogScale ()
 Default Constructor with [0, 0.5, 1] => [0, 0.1, 1].
void changeScaling (T srcMin, T srcMax, T destMin, T destMax, T inValue, T outValue)
 Applies a new scale setting.
void scale (T *pIn, T *pOut, int32 nSamples)
 Computes the scale from pIn input buffer to pOut output buffer (pIn and POut could be the same buffer).
scale (T input) const
 Computes for one given value the scale.
void invscale (T *pIn, T *pOut, int32 nSamples)
 Computes the inverse scale from pIn input buffer to pOut output buffer (pIn and POut could be the same buffer).
invscale (T input) const
 Computes for one given value the inverse scale.
invscaleCheck (T in) const
 Same than invscale with a check of the input.

Protected Member Functions

void setScaling (T srcMin, T srcMax, T destMin, T destMax, T inValue, T outValue)

Protected Attributes

scaleFactor
scaleFactorInv
srcScale
srcScaleInv
srcMin
expo
expoInv
destMin

Detailed Description

template<class T>
class Steinberg::Vst::LogScale< T >

LogScale class.

Scales [srcMin srcMax] to [destMin destMax]

Scaling curve is defined by given outValue for given inValue

LogScale myLogScale (0, 1, 0, 1, 0.5, 0.1);
means: input and output ranges are the same, but myLogScale.scale (0.5) is 0.1 ([0, 0.5, 1] => [0, 0.1, 1])

LogScale myLogScale (0, 1, 0, 1, 0.5, 0.9);
means: input and output ranges are the same, but myLogScale.scale (0.5) is 0.9 ([0, 0.5, 1] => [0, 0.9, 1])

LogScale myLogScale (0, 1, 80, 22000, 0.5, 2000);
means: input range is between 0 and 1 and output range is between 80 and 22000 and myLogScale.scale (0.5) is 2000 ([0, 0.5, 1] => [80, 2000, 22000])


Constructor & Destructor Documentation

LogScale ( srcMin,
srcMax,
destMin,
destMax,
inValue = 0.5,
outValue = 0.1 
) [inline]

Constructor.

LogScale (  )  [inline]

Default Constructor with [0, 0.5, 1] => [0, 0.1, 1].


Member Function Documentation

void changeScaling ( srcMin,
srcMax,
destMin,
destMax,
inValue,
outValue 
) [inline]

Applies a new scale setting.

Note that destMin should be different than destMax! The same for srcMin and srcMax.

void scale ( T *  pIn,
T *  pOut,
int32  nSamples 
) [inline]

Computes the scale from pIn input buffer to pOut output buffer (pIn and POut could be the same buffer).

T scale ( input  )  const [inline]

Computes for one given value the scale.

void invscale ( T *  pIn,
T *  pOut,
int32  nSamples 
) [inline]

Computes the inverse scale from pIn input buffer to pOut output buffer (pIn and POut could be the same buffer).

T invscale ( input  )  const [inline]

Computes for one given value the inverse scale.

T invscaleCheck ( in  )  const [inline]

Same than invscale with a check of the input.

void setScaling ( srcMin,
srcMax,
destMin,
destMax,
inValue,
outValue 
) [inline, protected]

Field Documentation

T scaleFactor [protected]
T scaleFactorInv [protected]
T srcScale [protected]
T srcScaleInv [protected]
T srcMin [protected]
T expo [protected]
T expoInv [protected]
T destMin [protected]
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines
Empty

Copyright ©2013 Steinberg Media Technologies GmbH. All Rights Reserved.